package com.csyf.manager.dao;

import com.csyf.manager.entity.SysUser;
import tk.mybatis.mapper.common.Mapper;

import java.util.Map;

/**
 *
 * @Description: 用户Mapper
 *
 * @auther: casper
 * @date: 2018/11/19 16:26
 * @param:
 * @return:
 *
 */
public interface SysUserMapper extends Mapper<SysUser> {
    int deleteByPrimaryKey(Long userId);

    int insert(SysUser record);

    int insertSelective(SysUser record);

    SysUser selectByPrimaryKey(Long userId);

    int updateByPrimaryKeySelective(SysUser record);

    int updateByPrimaryKey(SysUser record);

    /**
     * 根据用户名查询用户
     * @param username
     * @return user
     */
    SysUser selectByUsername(String username);

    /**
     * 更新用户最近登录时间
     * @param user
     */
    void updateLastLoginTime(SysUser user);

    /**
     * 根据用户id查询用户
     * @param userId
     * @return
     */
    SysUser selectByUserId(String userId);

    /**
     * 根据用户id更新用户信息
     * @param userForm
     * @return
     */
    int updateByUserId(SysUser userForm);

    /**
     * 根据用户id更新用户密码
     * @param user
     */
    void updatePwdByUserId(SysUser user);

    /**
     * 根据用户id集合批量更新用户状态
     * @param params
     * @return
     */
    int updateStatusBatch(Map<String,Object> params);

    /**
     * 新增用户并获取用户id
     * @param user
     */
    void insertAndGetId(SysUser user);
}